package com.example.lotterysystem.service;

import com.example.lotterysystem.controller.param.CreateActivityParam;
import com.example.lotterysystem.controller.param.PageParam;
import com.example.lotterysystem.service.dto.ActivityCreateDTO;
import com.example.lotterysystem.service.dto.ActivityDTO;
import com.example.lotterysystem.service.dto.ActivityDetailDTO;
import com.example.lotterysystem.service.dto.PageListDTO;

public interface ActivityService {

    /**
     * 创建活动
     * @param param
     * @return
     */
    ActivityCreateDTO createActivity(CreateActivityParam param);

    /**
     * 获取活动列表
     * @param param
     * @return
     */
    PageListDTO<ActivityDTO> findActivityList(PageParam param);

    /**
     * 获取活动的详细信息
     * @param activityId
     * @return
     */
    ActivityDetailDTO findActivityDetail(Long activityId);

    /**
     * 缓存活动信息（先从数据库表中读取最新的活动信息，在存储）
     * @param activityId
     */
    void cacheActivity(Long activityId);
}
